/*************************************************************************
> File Name: test.cpp
> Author: hzy
> Created Time: 2023-08-10 14:48:38
> Description:
************************************************************************/
#include <iostream>

using namespace std;

class MyClass
{
public:
    explicit MyClass(int value)
    {
        cout << "int " << endl;
    }
    MyClass(int t, double value = 2)
    {
        cout << "double" << endl;
    }
};

void func(MyClass obj) {}

int main()
{
    // MyClass obj1(10);
    // MyClass obj4 = 10; // 错误，禁止隐式类型转换
    // MyClass obj2(10.5); // 正确，调用double类型的构造函数
    // func(10);           // 错误，禁止隐式类型转换
    // func(10.5);         // 错误，二义性问题
    // func(MyClass(10));  // 正确，显式调用int类型的构造函数
    return 0;
}